# Settings specified here will take precedence over those in config/environment.rb

# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true

# Full error reports are disabled and caching is turned on
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching             = true
config.action_view.cache_template_loading            = true

# See everything in the log (default is :info)
# config.log_level = :debug

# Use a different logger for distributed setups
# config.logger = SyslogLogger.new

# Use a different cache store in production
# config.cache_store = :mem_cache_store

# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"

# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false

# Enable threaded mode and start one worker automatically if using jRuby.
if RUBY_PLATFORM == "java" && !defined?(Rake)
  config.threadsafe!

  config.after_initialize do

    # Automatic class loading from lib is disabled when config.threadsafe! is
    # enabled, so we need to load the libraries manually.
    Dir["#{RAILS_ROOT}/lib/*.rb"].each { |file| require file }

    Thread.new do
      # For some reason, the worker seems to do nothing if tomcat isn't completely
      # initialized when the worker is started. So as a BIG hack, sleep for 30
      # seconds and hope that tomcat has initialized itself before the time runs
      # out. Most likely there is something about the Rails boot process that I
      # don't understand.
      sleep 30
      Delayed::Worker.new.start
    end
  end
end
